Meshed networks of wirelessly interconnected lighting poles or other lighting devices, sensor devices, or load devices will become the infra-structure for smart city or housing services such a light management, traffic management, and air quality monitoring. City wide networks may consist of tens of thousands of lighting poles that relay traffic via multi-hop communication protocols. The size of these networks makes their deployment an undertaking which challenges the current state of the art in network design and networking protocols.
Similarly wirelessly connected lighting networks will provide easy to install and energy efficient lighting within professional and residential buildings. Additional benefits of such lighting networks are in lighting management and data-based services.
In such networks, data must be routed along multi-hop paths between nodes in the lighting poles and the coordinator node. As the networking nodes are resource (memory) constrained, routing protocols based on flooding are needed.
For lighting use cases, the propagation speed of the broadcasting algorithm is of paramount importance. Indeed, lights must switch on with imperceptible delay, e.g. within 200 ms, and with great synchronicity (e.g. 50 ms). This requirement is not necessarily encountered in other applications in the building automation context. E.g., in heating, ventilation and air conditioning (HVAC) applications, there may be considerable time lag between an event actuation and its noticeable effect. This explains the focus of latency of the multicast within lighting systems, and the emphasis this topic receives in the various (IETF) standardization and (Chip vendor) business contacts.
A specific flooding algorithm, called Trickle, has recently been introduced by the internet engineering task force (IETF) for its suitability in this context. The Trickle algorithm is based on stochastic timers and a window doubling mechanism to balance traffic load and response times.
P. Levis et al: “Trickle: A Self-Regulating Algorithm for Code Propagation and Maintenance in Wireless Sensor Networks”, University of California, Berkeley, discloses the Trickle algorithm as a suitable protocol for effective and efficient distribution and maintenance of code or other information in wireless sensor networks. The Trickle algorithm is currently being investigated for multicast communication in wireless indoor lighting networks, and in meshed networks of interconnected lighting poles.
More specifically, the Trickle algorithm is based on three parameters:                A threshold value k, called the redundancy constant;        the maximum interval size τh; and        the minimum interval size τl.        
Furthermore each node in the network has its own timer and keeps track of three variables:                The current interval size τ;        a count value c of a counter counting the number of messages heard during an interval;        a broadcasting time t during the current interval.        
The behaviour of each node can be described by the following set of rules:
1) At the start of a new interval a node resets its timer and counter and sets the broadcasting time t to a value in the range [τ/2, τ] at random.
2) When a node hears a consistent message that is consistent with the information it has, it increments the count value c of the counter by 1.
3) When a node's timer hits the broadcast time t, the node broadcasts its message if c<k.
4) When a node's timer hits the end of the interval size τ, it doubles its interval size τ up to τh and starts a new interval.
5) When a node hears a message that is inconsistent with the information it has, if τ>τl, it sets τ to τl and starts a new interval, otherwise it does nothing.
What constitutes a consistent or an inconsistent message, can be determined by the user and depends on the setting and/or application in which the algorithm is used. Also additional actions, like what happens when a node hears an inconsistency, can be defined. In general, an inconsistent message can be defined as a message that contains update information which differs from update information currently maintained or available at a concerned node. If the algorithm is used for example to propagate new code, an inconsistent message can be defined as code that has a version number higher or lower than the version number of the code the node currently has. An additional action can then be defined as that a node should update its code when it hears newer code. In the lighting context, the messages may typically be switch and dimming commands.
The above mentioned rule 1 of the Trickle algorithm makes nodes set their timers in the second part of their intervals. This rule ensures that nodes listen for at least the first half of their interval, the so-called listen-only period. This rule was introduced to decrease the number of redundant transmissions in a network. These redundant messages are caused by nodes that listen only for a short period. It is known that without this rule, the number of messages in a network grows with the number of nodes in the network, at a rate given by the square root of the number of nodes. With the rule, the number of messages is bounded and independent of the number of nodes in the network. Thus, this simple rule increases the scalability of the algorithm.
However, this rule also has an undesirable effect on the speed at which an update can be propagated in a multi-hop network. Whenever a node receives an update, it has to wait for at least a period of τl/2, before it can retransmit the newly received update. Consequently in a h-hop network communication delay is bounded by below by h*τl/2.
For example, assuming a lossless network consists of 80×80 nodes placed on a grid. In case of instantaneous transmissions, broadcasting nodes cannot interfere with each other. Furthermore τl=30 ms, τh=480 ms and k=1. The expected hop count from corner to corner is approximately 26 hops. At time 0, a node in the upper left corner receives an update which it starts to propagate. It can be seen that in such a 26-hop network communication delay is approximately 490 ms, since after each hop nodes have to wait for at least 15 ms before they can propagate the newly received update.
In case the nodes do not have a listen-only period, they can set their broadcasting times t uniformly from the range [0, τ]. Thereby, propagation speed increases drastically by a factor of approximately 13. It is also worth noting that for this setting the update appears to spread through the network less predictably.
Hence, not having a listen-only period gives much faster propagation, however it is also known that this setting may lead to lots of redundant transmissions. This invention allows the Trickle algorithm to benefit from the advantages of both settings, drastically increasing propagation speed in multi-hop networks, while still controlling the number of transmissions when no new information is available in the network.